import fetch from 'isomorphic-fetch';
/*
 * action 类型  规则：页面标示_操作类型   MOVIE_ADD
 */

/** 电影页面 数据操作*/
export const MOVIE_INIT = 'MOVIE_INIT'; //初始化电影
export const MOVIE_ADD = 'MOVIE_ADD_MOVIE'; //新增电影
export const MOVIE_UPDATA = 'MOVIE_UPDATA'; //修改电影
export const MOVIE_REMO = 'MOVIE_REMO'; //删除电影

export const MOVIE_LOAD = 'MOVIE_LOAD'; //改变lode状态   是否显示正在加载



/*
 * action 创建函数
 */

//初始化电影
export function getInitData(initData) {

    return (dispatch, getState) => {
        //首先让load 显示
        dispatch(updataLoad());

        setTimeout(function () {  //预设个定时器 模拟网络延迟
            fetch('./test.json')
                .then(
                function (response) {
                    if (response.status !== 200) {
                        console.log('当前状态码为： ' + response.status);
                        return null;   //测试不存在这种情况 先不管
                    }

                    response.json().then(function (data) {
                        // 把数据存入 state
                        //成功之后 load不显示

                        dispatch(initMovie(data));
                        dispatch(updataLoad());

                    });
                }
                )
                .catch(function (err) {
                    console.log('Fetch Error :-S', err);
                });
        }, 2000)

    }
    // return { type: MOVIE_INIT, initData }
}
export function initMovie(initData) {
    return { type: MOVIE_INIT, initData }
}
//新增电影
export function addMovie(form) {
    return { type: MOVIE_ADD, form }
}

//修改电影
export function updataMovie(form) {
    return { type: MOVIE_UPDATA, form }
}

//删除电影
export function remoMovie(index) {
    return { type: MOVIE_REMO, index }
}

//正在加载的开关
export function updataLoad() {
    return { type: MOVIE_LOAD }
}

